package controller;

import UI.MainWindow;


/**
 * 
 * @author Francisco José Martínez López
 * @date Apr. 16, 2012
 * Interface for the main controller class than manage the references to
 * others controllers, improving modularized design.
 */
public interface IMainController {
	public ILogController getLogController();
	public IEditorsController getTextEditorController();
	public ITreeController getTreeController();
	public IMenuController getMenuController();	
	
	public void setView(MainWindow mainView);
		
	/*
	 * NOTA
	 * Deberia en esta interfaz poder poner todos los métodos que permite hacer nuestro
	 * editor? tales como abrir, editar, comprobar sintaxis y tal?
	 * TAl y como esta puesto ahora mismo para acceder tenemos que coger el controlador
	 * especifico de la zona y llamarlo nosotros, o toda la funcionalidad puede estar aqui
	 * y como este diseñado no importa.
	 * 
	 * La diferencia principal es la cantidad de métodos que tendremos. Con la segunda opcion
	 * los metodos serán muchos más. Uno por cada opción.
	 */
	
	public void loadTextIntoTextEditor(String s);
	public String getTextOfTheBasicEditor();

}
